package com.stkouyu.xiansheng.entity;

import com.google.gson.annotations.SerializedName;

import java.util.List;

public class RecordResult {

    /**
     * request_id : c522f04e127511eb9842e7c925bbe8fb
     * applicationId : t714
     * dtLastResponse : 2020-10-20 09:44:21:0
     * connect : {"param":{"app":{"signature":"e98574e1e59b1ed18769889ebd480c831b49f686","userId":"123","applicationId":"t714","connect_id":"c5236ee8127511eb991bb7f923c2653f","deviceId":"3b0e47ef31ded494ec49e8e658bb25f0","warrantId":"5f8e5cf7e38cf530f2116aa95322dc693","timestamp":"1603158259"},"sdk":{"os":"android","product":"fake","os_version":"0.0","source":1,"protocol":1,"type":1,"arch":"armv8l","version":33556480}},"cmd":"connect"}
     * params : {"app":{"signature":"e98574e1e59b1ed18769889ebd480c831b49f686","userId":"123","applicationId":"t714","connect_id":"c5236ee8127511eb991bb7f923c2653f","deviceId":"3b0e47ef31ded494ec49e8e658bb25f0","warrantId":"5f8e5cf7e38cf530f2116aa95322dc693","timestamp":"1603158259"},"audio":{"saveAudio":0,"sampleBytes":2,"audioType":"opus","sampleRate":16000,"channel":1},"request":{"attachAudioUrl":1,"coreType":"en.longsent.rec","request_id":"c522f04e127511eb9842e7c925bbe8fb","rank":100}}
     * recordId : 11eb1275c52b65eeb8b1t714969112b3
     * eof : 1
     * result : {"overall":99,"wavetime":820,"nettime":38.969482,"decodetime":320.403809,"systime":1654,"res":"eng.rec.mfcc.0.1","version":"0.0.80.2020.8.28.10:15:25","code_startime":102.459961,"delaytime":351,"info":{"tipId":0,"clip":0,"snr":10.075366,"volume":93},"pretime":102,"wrd_details":[{"vad_index":0,"snt_index":0,"char":"one","score":99}]}
     * audioUrl : http://trial-files.api.cloud.ssapi.cn:8080/t714/11eb1275c52b65eeb8b1t714969112b3
     * cloud_platform : {"origin_audio_length":2996}
     */

    private String request_id;
    private String applicationId;
    private String dtLastResponse;
    private ConnectBean connect;
    private ParamsBean params;
    private String recordId;
    private int eof;
    private ResultBean result;
    private String audioUrl;
    private CloudPlatformBean cloud_platform;

    public String getRequest_id() {
        return request_id;
    }

    public void setRequest_id(String request_id) {
        this.request_id = request_id;
    }

    public String getApplicationId() {
        return applicationId;
    }

    public void setApplicationId(String applicationId) {
        this.applicationId = applicationId;
    }

    public String getDtLastResponse() {
        return dtLastResponse;
    }

    public void setDtLastResponse(String dtLastResponse) {
        this.dtLastResponse = dtLastResponse;
    }

    public ConnectBean getConnect() {
        return connect;
    }

    public void setConnect(ConnectBean connect) {
        this.connect = connect;
    }

    public ParamsBean getParams() {
        return params;
    }

    public void setParams(ParamsBean params) {
        this.params = params;
    }

    public String getRecordId() {
        return recordId;
    }

    public void setRecordId(String recordId) {
        this.recordId = recordId;
    }

    public int getEof() {
        return eof;
    }

    public void setEof(int eof) {
        this.eof = eof;
    }

    public ResultBean getResult() {
        return result;
    }

    public void setResult(ResultBean result) {
        this.result = result;
    }

    public String getAudioUrl() {
        return audioUrl;
    }

    public void setAudioUrl(String audioUrl) {
        this.audioUrl = audioUrl;
    }

    public CloudPlatformBean getCloud_platform() {
        return cloud_platform;
    }

    public void setCloud_platform(CloudPlatformBean cloud_platform) {
        this.cloud_platform = cloud_platform;
    }

    public static class ConnectBean {
        /**
         * param : {"app":{"signature":"e98574e1e59b1ed18769889ebd480c831b49f686","userId":"123","applicationId":"t714","connect_id":"c5236ee8127511eb991bb7f923c2653f","deviceId":"3b0e47ef31ded494ec49e8e658bb25f0","warrantId":"5f8e5cf7e38cf530f2116aa95322dc693","timestamp":"1603158259"},"sdk":{"os":"android","product":"fake","os_version":"0.0","source":1,"protocol":1,"type":1,"arch":"armv8l","version":33556480}}
         * cmd : connect
         */

        private ParamBean param;
        private String cmd;

        public ParamBean getParam() {
            return param;
        }

        public void setParam(ParamBean param) {
            this.param = param;
        }

        public String getCmd() {
            return cmd;
        }

        public void setCmd(String cmd) {
            this.cmd = cmd;
        }

        public static class ParamBean {
            /**
             * app : {"signature":"e98574e1e59b1ed18769889ebd480c831b49f686","userId":"123","applicationId":"t714","connect_id":"c5236ee8127511eb991bb7f923c2653f","deviceId":"3b0e47ef31ded494ec49e8e658bb25f0","warrantId":"5f8e5cf7e38cf530f2116aa95322dc693","timestamp":"1603158259"}
             * sdk : {"os":"android","product":"fake","os_version":"0.0","source":1,"protocol":1,"type":1,"arch":"armv8l","version":33556480}
             */

            private AppBean app;
            private SdkBean sdk;

            public AppBean getApp() {
                return app;
            }

            public void setApp(AppBean app) {
                this.app = app;
            }

            public SdkBean getSdk() {
                return sdk;
            }

            public void setSdk(SdkBean sdk) {
                this.sdk = sdk;
            }

            public static class AppBean {
                /**
                 * signature : e98574e1e59b1ed18769889ebd480c831b49f686
                 * userId : 123
                 * applicationId : t714
                 * connect_id : c5236ee8127511eb991bb7f923c2653f
                 * deviceId : 3b0e47ef31ded494ec49e8e658bb25f0
                 * warrantId : 5f8e5cf7e38cf530f2116aa95322dc693
                 * timestamp : 1603158259
                 */

                private String signature;
                private String userId;
                private String applicationId;
                private String connect_id;
                private String deviceId;
                private String warrantId;
                private String timestamp;

                public String getSignature() {
                    return signature;
                }

                public void setSignature(String signature) {
                    this.signature = signature;
                }

                public String getUserId() {
                    return userId;
                }

                public void setUserId(String userId) {
                    this.userId = userId;
                }

                public String getApplicationId() {
                    return applicationId;
                }

                public void setApplicationId(String applicationId) {
                    this.applicationId = applicationId;
                }

                public String getConnect_id() {
                    return connect_id;
                }

                public void setConnect_id(String connect_id) {
                    this.connect_id = connect_id;
                }

                public String getDeviceId() {
                    return deviceId;
                }

                public void setDeviceId(String deviceId) {
                    this.deviceId = deviceId;
                }

                public String getWarrantId() {
                    return warrantId;
                }

                public void setWarrantId(String warrantId) {
                    this.warrantId = warrantId;
                }

                public String getTimestamp() {
                    return timestamp;
                }

                public void setTimestamp(String timestamp) {
                    this.timestamp = timestamp;
                }
            }

            public static class SdkBean {
                /**
                 * os : android
                 * product : fake
                 * os_version : 0.0
                 * source : 1
                 * protocol : 1
                 * type : 1
                 * arch : armv8l
                 * version : 33556480
                 */

                private String os;
                private String product;
                private String os_version;
                private int source;
                private int protocol;
                private int type;
                private String arch;
                private int version;

                public String getOs() {
                    return os;
                }

                public void setOs(String os) {
                    this.os = os;
                }

                public String getProduct() {
                    return product;
                }

                public void setProduct(String product) {
                    this.product = product;
                }

                public String getOs_version() {
                    return os_version;
                }

                public void setOs_version(String os_version) {
                    this.os_version = os_version;
                }

                public int getSource() {
                    return source;
                }

                public void setSource(int source) {
                    this.source = source;
                }

                public int getProtocol() {
                    return protocol;
                }

                public void setProtocol(int protocol) {
                    this.protocol = protocol;
                }

                public int getType() {
                    return type;
                }

                public void setType(int type) {
                    this.type = type;
                }

                public String getArch() {
                    return arch;
                }

                public void setArch(String arch) {
                    this.arch = arch;
                }

                public int getVersion() {
                    return version;
                }

                public void setVersion(int version) {
                    this.version = version;
                }
            }
        }
    }

    public static class ParamsBean {
        /**
         * app : {"signature":"e98574e1e59b1ed18769889ebd480c831b49f686","userId":"123","applicationId":"t714","connect_id":"c5236ee8127511eb991bb7f923c2653f","deviceId":"3b0e47ef31ded494ec49e8e658bb25f0","warrantId":"5f8e5cf7e38cf530f2116aa95322dc693","timestamp":"1603158259"}
         * audio : {"saveAudio":0,"sampleBytes":2,"audioType":"opus","sampleRate":16000,"channel":1}
         * request : {"attachAudioUrl":1,"coreType":"en.longsent.rec","request_id":"c522f04e127511eb9842e7c925bbe8fb","rank":100}
         */

        private AppBeanX app;
        private AudioBean audio;
        private RequestBean request;

        public AppBeanX getApp() {
            return app;
        }

        public void setApp(AppBeanX app) {
            this.app = app;
        }

        public AudioBean getAudio() {
            return audio;
        }

        public void setAudio(AudioBean audio) {
            this.audio = audio;
        }

        public RequestBean getRequest() {
            return request;
        }

        public void setRequest(RequestBean request) {
            this.request = request;
        }

        public static class AppBeanX {
            /**
             * signature : e98574e1e59b1ed18769889ebd480c831b49f686
             * userId : 123
             * applicationId : t714
             * connect_id : c5236ee8127511eb991bb7f923c2653f
             * deviceId : 3b0e47ef31ded494ec49e8e658bb25f0
             * warrantId : 5f8e5cf7e38cf530f2116aa95322dc693
             * timestamp : 1603158259
             */

            private String signature;
            private String userId;
            private String applicationId;
            private String connect_id;
            private String deviceId;
            private String warrantId;
            private String timestamp;

            public String getSignature() {
                return signature;
            }

            public void setSignature(String signature) {
                this.signature = signature;
            }

            public String getUserId() {
                return userId;
            }

            public void setUserId(String userId) {
                this.userId = userId;
            }

            public String getApplicationId() {
                return applicationId;
            }

            public void setApplicationId(String applicationId) {
                this.applicationId = applicationId;
            }

            public String getConnect_id() {
                return connect_id;
            }

            public void setConnect_id(String connect_id) {
                this.connect_id = connect_id;
            }

            public String getDeviceId() {
                return deviceId;
            }

            public void setDeviceId(String deviceId) {
                this.deviceId = deviceId;
            }

            public String getWarrantId() {
                return warrantId;
            }

            public void setWarrantId(String warrantId) {
                this.warrantId = warrantId;
            }

            public String getTimestamp() {
                return timestamp;
            }

            public void setTimestamp(String timestamp) {
                this.timestamp = timestamp;
            }
        }

        public static class AudioBean {
            /**
             * saveAudio : 0
             * sampleBytes : 2
             * audioType : opus
             * sampleRate : 16000
             * channel : 1
             */

            private int saveAudio;
            private int sampleBytes;
            private String audioType;
            private int sampleRate;
            private int channel;

            public int getSaveAudio() {
                return saveAudio;
            }

            public void setSaveAudio(int saveAudio) {
                this.saveAudio = saveAudio;
            }

            public int getSampleBytes() {
                return sampleBytes;
            }

            public void setSampleBytes(int sampleBytes) {
                this.sampleBytes = sampleBytes;
            }

            public String getAudioType() {
                return audioType;
            }

            public void setAudioType(String audioType) {
                this.audioType = audioType;
            }

            public int getSampleRate() {
                return sampleRate;
            }

            public void setSampleRate(int sampleRate) {
                this.sampleRate = sampleRate;
            }

            public int getChannel() {
                return channel;
            }

            public void setChannel(int channel) {
                this.channel = channel;
            }
        }

        public static class RequestBean {
            /**
             * attachAudioUrl : 1
             * coreType : en.longsent.rec
             * request_id : c522f04e127511eb9842e7c925bbe8fb
             * rank : 100
             */

            private int attachAudioUrl;
            private String coreType;
            private String request_id;
            private int rank;

            public int getAttachAudioUrl() {
                return attachAudioUrl;
            }

            public void setAttachAudioUrl(int attachAudioUrl) {
                this.attachAudioUrl = attachAudioUrl;
            }

            public String getCoreType() {
                return coreType;
            }

            public void setCoreType(String coreType) {
                this.coreType = coreType;
            }

            public String getRequest_id() {
                return request_id;
            }

            public void setRequest_id(String request_id) {
                this.request_id = request_id;
            }

            public int getRank() {
                return rank;
            }

            public void setRank(int rank) {
                this.rank = rank;
            }
        }
    }

    public static class ResultBean {
        /**
         * overall : 99
         * wavetime : 820
         * nettime : 38.969482
         * decodetime : 320.403809
         * systime : 1654
         * res : eng.rec.mfcc.0.1
         * version : 0.0.80.2020.8.28.10:15:25
         * code_startime : 102.459961
         * delaytime : 351
         * info : {"tipId":0,"clip":0,"snr":10.075366,"volume":93}
         * pretime : 102
         * wrd_details : [{"vad_index":0,"snt_index":0,"char":"one","score":99}]
         */

        private int overall;
        private int wavetime;
        private double nettime;
        private double decodetime;
        private int systime;
        private String res;
        private String version;
        private double code_startime;
        private int delaytime;
        private InfoBean info;
        private int pretime;
        private List<WrdDetailsBean> wrd_details;

        public int getOverall() {
            return overall;
        }

        public void setOverall(int overall) {
            this.overall = overall;
        }

        public int getWavetime() {
            return wavetime;
        }

        public void setWavetime(int wavetime) {
            this.wavetime = wavetime;
        }

        public double getNettime() {
            return nettime;
        }

        public void setNettime(double nettime) {
            this.nettime = nettime;
        }

        public double getDecodetime() {
            return decodetime;
        }

        public void setDecodetime(double decodetime) {
            this.decodetime = decodetime;
        }

        public int getSystime() {
            return systime;
        }

        public void setSystime(int systime) {
            this.systime = systime;
        }

        public String getRes() {
            return res;
        }

        public void setRes(String res) {
            this.res = res;
        }

        public String getVersion() {
            return version;
        }

        public void setVersion(String version) {
            this.version = version;
        }

        public double getCode_startime() {
            return code_startime;
        }

        public void setCode_startime(double code_startime) {
            this.code_startime = code_startime;
        }

        public int getDelaytime() {
            return delaytime;
        }

        public void setDelaytime(int delaytime) {
            this.delaytime = delaytime;
        }

        public InfoBean getInfo() {
            return info;
        }

        public void setInfo(InfoBean info) {
            this.info = info;
        }

        public int getPretime() {
            return pretime;
        }

        public void setPretime(int pretime) {
            this.pretime = pretime;
        }

        public List<WrdDetailsBean> getWrd_details() {
            return wrd_details;
        }

        public void setWrd_details(List<WrdDetailsBean> wrd_details) {
            this.wrd_details = wrd_details;
        }

        public static class InfoBean {
            /**
             * tipId : 0
             * clip : 0
             * snr : 10.075366
             * volume : 93
             */

            private int tipId;
            private int clip;
            private double snr;
            private int volume;

            public int getTipId() {
                return tipId;
            }

            public void setTipId(int tipId) {
                this.tipId = tipId;
            }

            public int getClip() {
                return clip;
            }

            public void setClip(int clip) {
                this.clip = clip;
            }

            public double getSnr() {
                return snr;
            }

            public void setSnr(double snr) {
                this.snr = snr;
            }

            public int getVolume() {
                return volume;
            }

            public void setVolume(int volume) {
                this.volume = volume;
            }
        }

        public static class WrdDetailsBean {
            /**
             * vad_index : 0
             * snt_index : 0
             * char : one
             * score : 99
             */

            private int vad_index;
            private int snt_index;
            @SerializedName("char")
            private String charX;
            private int score;

            public int getVad_index() {
                return vad_index;
            }

            public void setVad_index(int vad_index) {
                this.vad_index = vad_index;
            }

            public int getSnt_index() {
                return snt_index;
            }

            public void setSnt_index(int snt_index) {
                this.snt_index = snt_index;
            }

            public String getCharX() {
                return charX;
            }

            public void setCharX(String charX) {
                this.charX = charX;
            }

            public int getScore() {
                return score;
            }

            public void setScore(int score) {
                this.score = score;
            }
        }
    }

    public static class CloudPlatformBean {
        /**
         * origin_audio_length : 2996
         */

        private int origin_audio_length;

        public int getOrigin_audio_length() {
            return origin_audio_length;
        }

        public void setOrigin_audio_length(int origin_audio_length) {
            this.origin_audio_length = origin_audio_length;
        }
    }
}
